﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Group3.MediaTool.Interface
{
    public interface IObjectRelationModel
    {
        #region Read
        IEnumerable<IObjectRelationModel> ReadAll();
        IEnumerable<IObjectRelationModel> Read(Predicate<IObjectRelationModel> filterStmt);
        #endregion
        #region Write
        void Write();
        #endregion
    }
    /// <summary>
    /// Version: 1.0
    /// @Author: P. Senjic
    /// @Comment:
    ///     The IMemberValue Interface supports the option, to have a to stated value for the properties.
    ///     Origin is the value of a property at the last save. Current is the actual value.
    ///     with commit changes origin will be set to the current value
    ///     and with undo changes, current is set to origin again.
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IMemberValue<T>
    {
        T Origin { get; set; }
        T Current { get; set; }
        void CommitChanges();
        void UndoChanges();
    }
}
